package com.duoec.magichour.service;

import com.duoec.magichour.core.exceptions.BusinessException;
import com.duoec.magichour.dto.ArticleCateTreeNode;
import com.duoec.magichour.dto.UserInfo;
import com.duoec.magichour.dto.request.ArticleCateSave;

import java.util.List;

/**
 * Created by ycoe on 17/6/30.
 */
public interface ArticleCateService {
    /**
     * 编辑文章分类
     * @param userInfo 用户
     * @param request 分类信息
     * @return
     */
    Integer save(UserInfo userInfo, ArticleCateSave request);

    /**
     * 检查父级文章ID是否合法，如果不合法，会抛个BusinessException异常
     * @param id 当前文章分类ID
     * @param parentId 父级文章分类ID
     */
    void availableParentId(Integer id, Integer parentId) throws BusinessException;

    /**
     * 判断分类是否存在
     * @param id 文章分类ID
     * @return
     */
    boolean exists(Integer id);

    /**
     * 删除文章分类
     * @param id 文章分类
     */
    void delete(int id);

    /**
     * 通过文章分类ID获取文章名称
     * @param cateId 文章分类ID
     * @return
     */
    String getName(Integer cateId);
}
